package zgrjb.snbq.teach_platform.service;

import zgrjb.snbq.teach_platform.util.JsonData;

/**
 * 任务队列服务接口
 * 
 * @author system
 * @since 2024-12-28
 */
public interface TaskQueueService {
    
    /**
     * 创建任务
     */
    JsonData createTask(Long userId, String taskType, String title, String description,
                       Long sourceId, String sourceType, Integer priority);
    
    /**
     * 获取用户任务列表
     */
    JsonData getUserTasks(Long userId, String taskType, Integer status, int page, int size);
    
    /**
     * 更新任务状态
     */
    JsonData updateTaskStatus(Long taskId, Integer status, Long userId);
    
    /**
     * 完成任务
     */
    JsonData completeTask(Long taskId, Long userId);
    
    /**
     * 获取待办任务统计
     */
    JsonData getTaskStatistics(Long userId);
    
    /**
     * 获取即将到期的任务
     */
    JsonData getUpcomingTasks(Long userId, int days);
    
    /**
     * 自动生成考试批改任务
     */
    JsonData autoGenerateGradingTasks(Long examId);
    
    /**
     * 自动清理过期任务
     */
    JsonData cleanExpiredTasks();
    
    /**
     * 获取任务详情
     */
    JsonData getTaskDetail(Long taskId, Long userId);
} 